FreeCAD begann im Januar 2001, als Jürgen Riegel mit der Arbeit an dem Cas.CADE Projekt begann. Cas.CADE war ein kommerzielles Softwareentwicklungsrahmenwerk, das einen geometrischen Modellierungskern (oder CAD-Kernel) enthielt: Es wurde im Jahr 2000 unter einer Open-Source-Lizenz veröffentlicht und in OpenCASCADE umbenannt. Dies ermöglichte die Realisierung eines quelloffenen 3D-CAD-Programms, da die Programmierung eines CAD-Kerns von Grund auf einen enormen Arbeitsaufwand bedeutet hätte.
In Jürgens eigenen Worten:
Ich begann mit dem FreeCAD-Projekt im Jahr 2001, als einem sogenannten GOM (grafischer Objektmodellierer), mit der Idee, Qt, Python und Cas.CADE zu verwenden, einem kommerziellen CAD-Kern, den ich zu der Zeit im Daimler-Projekt benutzte. Cas.CADE wurde kurz vorher Open-Source, so dass es die richtige Zeit schien, den zu der Zeit freien Raum eines Open-Source-CAD zu besetzen. Ich hatte zwei Jahre Erfahrung mit OpenCascade in einem Projekt namens QSpect, in dem ich zum Schluss der Haupt-Software-Designer war. Ich habe eine Menge über 3D- und CAD-Programmierung gelernt. Ich war auch beeinflusst von Catia V5 und dessen sehr ungewöhnlicher Benutzer- und Programmieroberfläche. Am 17. März 2002 habe ich während des OpenCasCade-Projektes die Software als FreeCAD registriert. Mir fiel kein besserer Name ein, ich bin sehr schlecht bei Namen. Im April 2003 wechselte Werner Mayer, einer den Kollegen im QSpect-Projekt, zu einer Firma namens Imetric. Der Kontakt zu Imetric war vielversprechend, denn sie suchten nach einer 3D-Software-Plattform für ihre 3D-Sensoren. Imetric spendete im Jahr 2005 das Meiste des Mesh-Moduls an FreeCAD und die Open-Source-Community und verwendeten seitdem FreeCAD als Basis für ihre Sensorsystem-Software. Seit dieser Zeit ist Werner Mayer ein sehr aktiver FreeCAD-Entwickler. Nach einem Jahr Anstrengungen habe ich 2005 entschieden, das OpenCasCade-Dokument-Gerüst herauszutrennen und durch eine Eigenentwicklung zu ersetzen. Schlussendlich benutzen wir nur den CAD-Kern von OpenCasCade und nicht den Rest des Gerüstes. 2007 war ein weiterer interessanter Meilenstein. Wir wechselten zu Qt4 und dadurch zur LGPL. Zu der Zeit haben wir viel Arbeit geleistet, hauptsächlich Werner.
Das Projekt wurde der Öffentlichkeit 2003 im OpenCascade-Forum vorgestellt:
Hallo zusammen, mein Name ist Jürgen Riegel und heute möchte ich ein OpenCasCade-Projekt ankündigen, FreeCAD. Es ist ein Open-Source-CAx-RAD, basierend auf OpenCasCade, Qt und Python. Es bietet einige wichtige Ideen wie Makroaufzeichnung, Arbeitsbereiche, die Möglichkeit als Server zu arbeiten und als eine dynamisch ladbare Anwendungserweiterung, und es plattformunabhängig ausgelegt... Obwohl es sich in einer frühen Phase befindet und weder für Anwender noch für Entwickler benutzbar ist — die erste Benutzerausgabe ist für Ende 2003 geplant —, möchte ich gerne etwas Feedback zur Richtung und zum Design von FreeCAD haben. Die Benutzeroberfläche ist fast fertig und wir, mein Co-Entwickler Werner Mayer und ich, haben damit angefangen, die ersten CAD-Funktionen hinzufügen. FreeCAD kann als ein universelles Mechanik-CAD-System angesehen werden, aber die erste Zielgruppe, denke ich, werden CAx-Entwickler sein, die eine Grundlage für die eigene Entwicklung benötigen.
Werner Mayer trat dem Projekt bei, sobald es als Open-Source-Projekt angekündigt wurde (vor der Ankündigung war das Projekt ein privates Projekt von Jürgen). Siehe diesen Forumsbeitrag von Werner auf Deutsch: https://forum.freecadweb.org/viewtopic.php?f=13&t=40235&start=10#p342330
Mit der Zeit gewann das Projekt an Zugkraft und es kamen neue wichtige Mitwirkende zur Gemeinschaft hinzu.
Eine lustige Tatsache ist, dass er eine Open-Source-CAD-Software hauptsächlich für Linux haben wollte, weil es zu dieser Zeit eigentlich nichts für diese Plattform gab. Von Anfang an entwickelten wir jedoch für die nächsten 1,5 Jahre ausschließlich unter Windows. Dann leistete ein Tscheche einen Beitrag, um den Code des Core-Builds auf Linux zu bringen: https://github.com/berndhahnebach/All_FreeCAD/commit/9fd2e27c95ba3dc84778d92e2564cd094793ce2f#diff-480477e89f9b6ddafb30c4383dcdd705
Ein halbes Jahr später habe ich den Linux-Build weitergeführt: https://github.com/berndhahnebach/All_FreeCAD/commit/35b962d7d751dd80f7c7781df60f93bc9a3da992
F: Kannst du mitteilen, wie die ersten 1,5 Jahre verliefen? Habt ihr euch persönlich oder online getroffen?
Nun, damals waren wir Kollegen (bis 2005), so dass wir Dinge von Angesicht zu Angesicht besprechen konnten. Danach hatten wir noch einige persönliche Treffen, aber die meisten Dinge haben wir per E-Mail oder Telefon besprochen.
Als dritter Kernentwickler kam Yorik Ende 2007 hinzu, aber es dauerte weitere 3 oder 4 Jahre, bis die Gemeinschaft und die Zahl der Mitwirkenden deutlich zu wachsen begannen.
F: Habt ihr die Aufgaben aufgeteilt oder an konkurrierenden Implementierungen gearbeitet?
Ja. Jürgen entwarf und implementierte den größten Teil der Anwendung und Dokumentenlogik, und ich kümmerte mich um die Grundlagen der Benutzeroberfläche.
Dies war jedoch kein stetiger Prozess, sondern wir haben zu Beginn mit vielen Dingen experimentiert. In der ersten Version nutzten wir beispielsweise OCCs Dokumenten-Rahmenwerk OCAF und seinen Betrachter, aber nach ein oder zwei Jahren gerieten wir in eine Sackgasse, weil die Dokumentation zu OCC sehr dürftig war und wir es nicht hinbekamen, OCAF um unsere eigenen Funktionstypen zu erweitern. Also beschlossen wir, nur die Modellierungskapazitäten von OCC zu nutzen, aber unser eigenes Anwendungs-/Dokumenten-Rahmenwerk zu entwickeln.
F: Hättest du damals gedacht, dass FreeCAD dort stehen würde, wo es heute ist?
Wir wussten es nicht, aber wir hofften es. Natürlich konnten wir nicht vorhersehen, wie genau FreeCAD heute aussehen wird.
Die wichtigsten Gestaltungsentscheidungen waren, es auf allen wichtigen Plattformen zur Verfügung zu stellen und die gesamte SW so zugänglich wie möglich zu gestalten, d.h. alle wichtigen Funktionen in Python zu implementieren, damit Hauptanwender FreeCAD mit eigenen Funktionen erweitern können. Auf diese Weise hofften wir, ein breites Publikum zu erreichen.
(Siehe diesen Forumsbeitrag von Werner Re: FreeCAD Geschichte)
Yorik van Havre trat dem Projekt 2008 bei und begann mit der Arbeit am Draft-Modul. Vor diesem Zeitpunkt gab es keine Möglichkeit, 2D-Geometrie mit der Benutzeroberfläche (GUI) zu erstellen. Dieses Modul wurde vollständig in Python programmiert und nicht in C++, der in FreeCAD verwendeten Kernprogrammiersprache. Der neue Arbeitsbereich Draft bewies, dass die Python-Integration ein Erfolg war und dazu genutzt werden konnte, die Fähigkeiten von FreeCAD zu erweitern oder anzupassen. Zusätzlich zu seiner Arbeit am Draft-Modul arbeitete Yorik an der Erweiterung der FreeCAD-Dokumentation und wurde zum de facto "Artdirektor" von FreeCAD, der viele Symbole für die FreeCAD-Benutzeroberfläche erstellt und ihren Stil geprägt hat.
FreeCAD Version 0.7 wurde im April 2009 veröffentlicht und war die erste mit dem Draft-Modul. Das Part-Modul enthielt einen einfachen CSG-Arbeitsablauf mit Erstellen von Grundformen (Primitive) und booleschen Verknüpfungen, beides über das Part-Menü zu erreichen. Extrusion von 2D-Profilen und Verrundung war ebenfalls möglich.
Version 0.8 wurde im Juli 2009 veröffentlicht und enthielt weitere Arbeit am Draft-Modul, darunter ein neues Bemaßungswerkzeug. Das Part-Modul profitierte von einer neuen Werkzeugleiste zusammen mit neuen Werkzeugen, Drehen und Schnitt.
Gegen Ende 2009 wurde FreeCAD als Debian-Paket in den Debian-Repositories akzeptiert. FreeCAD wurde 2010 in den Ubuntu 10.04-Repositories hinzugefügt.
Version 0.10 wurde im Juli 2010 veröffentlicht und führte den Arbeitsbereich Sketcher ein, der auf Sketchsolve basiert, einem auf Bedingungen basierendem Gleichungslöser zur Erstellung von 2D-Geometrie. Die erste Version war begrenzt auf die Erstellung von Rechtecken und Linien.
Anfang 2011, die Gelegenheit nutzend, die die Online-Plattform Launchpad bereitstellte, wurde das FreeCAD Instandhalter Team ins Leben gerufen, um den Benutzern des Ubuntu Betriebssystems aktuelle stabile Ausgaben neben täglichen Build-Paketen von FreeCAD bereitzustellen.
Version 0.11 wurde im Mai 2011 veröffentlicht und führte den Arbeitsbereich Part Design ein, der Werkzeuge wie Block, Tasche, Verrundung und Fase umfasste. Der Arbeitsbereich Draft erhielt Verbesserungen und neue Werkzeuge, wie B-Spline. Der Arbeitsbereich Robot bekam weitere GUI-Werkzeuge.
Version 0.12 wurde im Januar 2012 veröffentlicht und enthielt einen vervollständigten Arbeitsbereich Sketcher. Er enthielt einen völlig neu geschriebenen Gleichungslöser, FreeGCS. Es war das Ergebnis monatelanger Arbeit der FreeCAD-Hauptentwickler zusammen mit den Neueinsteigern logari81 (der den Löser programmiert hat) und mrlukeparry. Dem Arbeitsbereich PartDesign wurden weitere Werkzeuge hinzugefügt.
Im April 2019 wurde das Team der Kernentwickler erweitert: Zu Jürgen, Werner und Yorik gesellten sich Abdullah, Bernd, sliptonic und WandererFan
Farbe | Versionstyp |
---|---|
Zukünftige Veröffentlichung | |
Letzte Version | |
Alte Version |